const arrTemp =  ["beforePay","afterPay","refundApply", "beforeRecharge", "createBargain","pink"];
import store from '@/store';
import { getWeChatListTemp} from '@/api/common.js';
// export function auth() {
// 	let tmplIds = {};
// 	let messageTmplIds = uni.getStorageSync(SUBSCRIBE_MESSAGE);
// 	tmplIds = messageTmplIds ? JSON.parse(messageTmplIds) : {};
// 	return tmplIds;
// }

//type :1 时 强制更新缓存模板
//当前模板为空时 强制更新缓存模板
export function weChatListTempSet(type){
	console.log('------------------weChatListTempSet-------------')
	return new Promise((resolve, reject) => {
		let _this = this;
		let temp = store.state.app.temp;
		// console.log('!!!!!!!!!!!!!!!!type---',type);
		// console.log('!!!!!!!!!!!!!!!!temp---',temp,!temp,type ==1,(!temp || (type ==1)));
		//缓存中没有模板列表（缓存为空或者type=1 更新模板）
		if(!temp || (type ==1)){
			getWeChatListTemp().then(res => {
				// console.log('^^^^^^^^^^^^^getWeChatListTemp---',res);
				if(res && res.data && res.data.length>0){
					// let tempMap = new Map();
					let tempMap = {};
					res.data.forEach((item, index) => {
						let name = item.name;
						let templateId = item.templateId;
						// console.log('templateId----',name,templateId)
						if(name && name.length>0){
							// tempMap.set(name,templateId);
							tempMap[name] = templateId
						}
					});
					store.commit('SET_TEMP', JSON.stringify(tempMap));
					let temp = store.state.app.temp;
					// console.log('已缓存的模板列表---',temp);
				}
			
			
			
			}).catch(err => {
				console.log(err)
			});
		}else{
			// temp = JSON.parse(temp)
			// console.log('!!!!!!!!!!!!!paySuccess---',temp.paySuccess);
		}
	});
	
	
}

/**
 * 提交订单后订阅消息id
 * 订阅 （一次订阅） 订单关闭 支付成功
 */
export function openOrderPaySubscribe() {
	let temp = store.state.app.temp;
	let tmplIds = [];
	// console.log('已缓存的模板列表---',temp);
	if(temp){
		temp = JSON.parse(temp);
		let paySuccess = temp.paySuccess;
		let noPaySuccess = temp.noPaySuccess;
		tmplIds.push(paySuccess);
		tmplIds.push(noPaySuccess)
		console.log('本次需要通知的消息---',tmplIds);
	}
	
	return subscribe(tmplIds);
}

/**
 * 提交订单后订阅消息id
 * 订阅 （一次订阅） 订单关闭
 */
export function openOrderSubscribe() {
	let temp = store.state.app.temp;
	// console.log('已缓存的模板列表---',temp);
	let tmplIds = [];
	if(temp){
		temp = JSON.parse(temp);
		let noPaySuccess = temp.noPaySuccess;
		tmplIds.push(noPaySuccess)
		console.log('本次需要通知的消息---',tmplIds);
	}
	
	return subscribe(tmplIds);
}

/**
 * 去问诊/预约购药/扫码购药 后订阅消息id
 * 订阅（长期订阅）  问诊提醒  处方生成提醒
 */
export function openWenzhenSubscribe() {
	let temp = store.state.app.temp;
	// console.log('-------------openWenzhenSubscribe----------',temp)
	let tmplIds = [];
	if(temp){
		temp = JSON.parse(temp);
		// console.log('已缓存的模板列表---',temp);
		let paySuccess = temp.paySuccess;
		let createConsult = temp.createConsult;
		let kaifang = temp.kaifang;
		let noPaySuccess = temp.noPaySuccess;
		tmplIds.push(createConsult);
		tmplIds.push(kaifang)
		console.log('本次需要通知的消息---',tmplIds);
	}
	
	return subscribe(tmplIds);
}


/**
 * 调起订阅界面
 * array tmplIds 模板id
 */
export function subscribe(tmplIds) {
	 let wecaht = wx;
	return new Promise((reslove, reject) => {
		wecaht.requestSubscribeMessage({
			tmplIds: tmplIds,
			success(res) {
				return reslove(res);
			},
			fail(res) {
				console.log('推送失败---',res)
				return reslove(res);
			}
		})
	});
}
